<?php

namespace Api;
/**
 *@api Api::result('1','自定义内容',$data); 这种写法适用直接访问方法
 */
class Load extends Api
{
  /**
  * @Copyright:  ©TS-Frame-Tiny-Speed
  * @description: 上传图片
  * @param  POST 1、填写键名file，勾选File 2、上传文件
  * @param  http://localhost/TS/load/img
  * @param  multipart/form-data
  * @return JSON
  * @author: TS
  * @Date: 2021-06-11 07:52:16
  */
    public function img()
    {
        if (isset($_FILES["file"])) {
            if ($_FILES["file"]["error"] > 0) {
                return  Api::result(-1, $_FILES["file"]["error"] . "图片上传出错！<br/>");
            } else {
                // 获取文件名后缀
                $temp = explode(".", $_FILES["file"]["name"]);
                $extension = end($temp);
                // 设置支持的文件格式
                if (array_search($extension, ["jpg", "jpeg", "png", "bmp"]) === false) {
                    return  Api::result(-1, "图片格式不支持！");
                }
                if ($_FILES["file"]["size"] > 5242880) {
                    return  Api::result(-1, "上传的图片不能超过5M!");
                }
                if (!is_dir("upload/img")) {
                    // 如果upload目录不存在，则创建目录
                    if (!mkdir(iconv("UTF-8", "GBK", "upload/img"))) {
                        return  Api::result(-1, "当前环境不支持创建目录，请手动在项目里创建“upload/img”目录！");
                    }
                }
                // 设置时区，使用当前时间做文件名
                date_default_timezone_set("PRC");
                $saveName = date("YmdHis") . "." . $extension;
                // 如果 upload 目录不存在该文件则将文件上传到 upload 目录下
                if (move_uploaded_file($_FILES["file"]["tmp_name"], "upload/img/" . $saveName)) {
                    return  Api::result(1, "图片上传成功！", ["src" => "/upload/img/" . $saveName]);
                }
                return  Api::result(-1, "图片上传失败！");
            }
        } else {
                return  Api::result(-2, "请选择要上传的图片!");
        }
    }

}
